STFL is a library which implements a curses-based widget set for text
terminals. The public STFL API is only 14 simple function calls big and
there are already generic SWIG bindings. Thus is very easy to port STFL
to additional scripting languages.

A special language (the Structured Terminal Forms Language) is used to
describe STFL GUIs. The language is designed to be easy and fast to
write so an application programmer does not need to spend ages fiddling
around with the GUI and can concentrate on the more interesting
programming tasks.

There are two different syntaxes for STFL code, one designed to make
handwriting of STFL code as easy as possible and one aiming at generated
STFL code.

The STFL GUI descriptions (written in STFL code) do not contain any
concrete layouting information such as x/y coordinates of widgets.
Instead container widgets such as vertical and horizontal boxes as well
as tables are used to group widgets and the actual layouting work is
done by the STFL library. Thus STFL GUIs can handle terminals of
different sizes and terminal resize events transparently for the
application programmer.
